def solution(lines):
xc, oc, dc = 0, 0, 0
for i in range(3):
for j in range(3):
if lines[i][j] == "X":
xc += 1
if lines[i][j] == "0":
oc += 1
if lines[i][j] == ".":
dc += 1
if xc != oc and xc != oc + 1:
return "illegal"
ch = set()
for i in range(3):
if lines[0][i] == lines[1][i] == lines[2][i]:
ch.add(lines[0][i])
for i in range(3):
if lines[i][0] == lines[i][1] == lines[i][2]:
ch.add(lines[i][0])
if lines[0][0] == lines[1][1] == lines[2][2]:
ch.add(lines[1][1])
if lines[0][2] == lines[1][1] == lines[2][0]:
ch.add(lines[1][1])
if 'X' in ch and '0' in ch:
return "illegal"
if 'X' in ch and xc == oc + 1:
return "the first player won"
if 'X' in ch:
return "illegal"
if '0' in ch and oc == xc:
return "the second player won"
if '0' in ch and oc < xc:
return "illegal"
if dc == 0:
return "draw"
if xc == oc:
return "first"
if xc == oc + 1:
return "second"
lines = [input(), input(), input()]
print(solution(lines))
1389. Create Target Array in the Given Order | 1313. Decompress Run-Length Encoded List |
1281. Subtract the Product and Sum of Digits of an Integer | 1342. Number of Steps to Reduce a Number to Zero |
1528. Shuffle String | 1365. How Many Numbers Are Smaller Than the Current Number |
771. Jewels and Stones | 1512. Number of Good Pairs |
672. Richest Customer Wealth | 1470. Shuffle the Array |
1431. Kids With the Greatest Number of Candies | 1480. Running Sum of 1d Array |
682. Baseball Game | 496. Next Greater Element I |
232. Implement Queue using Stacks | 844. Backspace String Compare |
20. Valid Parentheses | 746. Min Cost Climbing Stairs |
392. Is Subsequence | 70. Climbing Stairs |
53. Maximum Subarray | 1527A. And Then There Were K |
1689. Partitioning Into Minimum Number Of Deci-Binary Numbers | 318. Maximum Product of Word Lengths |
448. Find All Numbers Disappeared in an Array | 1155. Number of Dice Rolls With Target Sum |
415. Add Strings | 22. Generate Parentheses |
13. Roman to Integer | 2. Add Two Numbers |